// ****************************************************************
// Copyright 2012, Stephan Burguchev
// e-mail: me@sburg.net
// ****************************************************************
// *
using System;
using Updater.Common;
using Updater.Sources;

namespace Updater.Updates
{
    public interface IUpdate
    {
        Configuration Configuration { get; set; }
        UpdateInformation Information { get; set; }
        ISource Source { get; set; }
        void Apply();
        bool CheckIfElevationRequired();
        void Download(Action<DownloadProgressInfo> downloadInfo);
        void Prepare();
    }
}
